﻿using System.Data;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Data;

namespace MiEmpresa.DataAccess
{
    public class ManejoErrores
    {

        /// <summary>
        /// Metodo para guardar en BD los errores arrojados por la BD
        /// </summary>
        /// <param name="sMensaje">El mensaje de error.</param>
        /// <param name="sMetodo">El metodo que lo invoco.</param>
        /// <param name="sAplicacion">La aplicacion o proyecto al que pertenece.</param>
        /// <param name="sClase">La clase a la que pertenece.</param>
        /// <param name="sParametros">Los parametros que se enviaron.</param>
        public static void ErroresLog(string sMensaje, string sMetodo, string sAplicacion, string sClase, string sParametros)
        {
            Database db = DatabaseFactory.CreateDatabase();

            string sProcedimientoAlmacenado = "spRegistraErrores";

            DbCommand ErroresLogCMD = db.GetStoredProcCommand(sProcedimientoAlmacenado);

            db.AddInParameter(ErroresLogCMD, "@fcMensaje", DbType.String, sMensaje);
            db.AddInParameter(ErroresLogCMD, "@fcMetodo", DbType.String, sMetodo);
            db.AddInParameter(ErroresLogCMD, "@fcAplicacion", DbType.String, sAplicacion);
            db.AddInParameter(ErroresLogCMD, "@fcClase", DbType.String, sClase);
            db.AddInParameter(ErroresLogCMD, "@fcParametros", DbType.String, sParametros);

            db.ExecuteNonQuery(ErroresLogCMD);

        }
    }
}
